package woaini.fenger.core.bot.config;

import lombok.Data;
import woaini.fenger.core.bot.base.Bot;
import woaini.fenger.core.bot.enums.ConnectType;
import woaini.fenger.core.bot.enums.PLatFormEnum;
import woaini.fenger.core.bot.id.ID;

import java.util.Map;

/**
 * 机器人配置
 *
 * @see woaini.fenger.core.bot.config.BotConfig
 * @author yefeng {@code @Date} 2023-05-16 16:50:39
 */
@Data
public class BotConfig {

  private Class<? extends Bot> botClass;
  private Class<? extends BotConfig> botConfigClass;

  /**
   * @see ID id
   */
  private ID selfId;

  /**
   * @see PLatFormEnum 平台 机器人平台
   */
  private PLatFormEnum platForm;

  /**
   * 实际对应的协议名称
   */
  private String agreement;

  /**
   * @see Boolean 自动登录
   */
  private Boolean autoLogin;

  /**
   * @see ConnectType 接收类型
   */
  private ConnectType receiveType;

  /**
   * @see ConnectType 发送类型
   */
  private ConnectType sendType;

  /**
   * @see String 端点
   */
  private String endpoint;

  private Map<String,Object> params;

  private Map<String,String> headers;
}
